/*
* ECARX Technology Limited is the owner of the copyright and the trade secret of this software.
* Without permission, no one has the right to obtain, disclose or use this software in any way.
*/

package ecarx.xsf.notificationcenter.interfaces;

import ecarx.xsf.notificationcenter.notification.INotificationBar;


/**
 * FileName: INotificationListener.java <br>
 * Description : 监听形象消息到达和取消 <br>
 * Create Time: 2020/03/25 10:10 <br>
 * Update Time: 2021/8/3 14:07 <br>
 *
 * @since 1.0.0
 */
public interface INotificationListener {

    /**
     * 接收形象消息
     * <p> 客户端接收形象消息入口 <br>
     *
     * @param notification {@link INotificationBar} 形象消息数据
     * @since 1.0.0
     */
    void onNotificationPosted(INotificationBar notification);

    /**
     * 取消形象消息
     * <p> 客户端接收取消形象消息入口 <br>
     *
     * @param notification {@link INotificationBar} 形象消息数据
     * @since 1.0.0
     */
    void onNotificationRemoved(INotificationBar notification);

    /**
     * 客户端消息显示状态
     * <p> 当前是否可接收消息，或者是可接收消息等待的时长， <= 0时 ,可接收<br>
     *
     * @since 1.0.0
     */
    long getPushNotificationWaitingTime();
}
